The operator that be overloaded is----

Updated: 6 days ago
  • ++
  • : :
  • ~
  • ()
513
ব্যাখ্যাঃ

C++-এ অপারেটর ওভারলোডিং (Operator Overloading) একটি গুরুত্বপূর্ণ ধারণা, যা ব্যবহারকারীকে কাস্টম ডেটা টাইপ (User-defined data types) এর জন্য স্ট্যান্ডার্ড অপারেটরগুলোর আচরণকে পুনরায় সংজ্ঞায়িত (redefine) করার ক্ষমতা দেয়। এর মাধ্যমে ইউজার-ডিফাইন্ড ক্লাসের অবজেক্টের সাথে গাণিতিক বা লজিক্যাল অপারেশন চালানো সহজ হয়। তবে, C++ এর সমস্ত অপারেটর ওভারলোড করা যায় না। কিছু নির্দিষ্ট অপারেটর রয়েছে যাদের আচরণ ফিক্সড এবং কম্পাইলারের অভ্যন্তরীণ কার্যকারিতার সাথে ঘনিষ্ঠভাবে জড়িত, তাই সেগুলোকে ওভারলোড করার অনুমতি দেওয়া হয় না।

প্রদত্ত বিকল্পগুলোর মধ্যে, স্কোপ রেজোলিউশন অপারেটর (Scope Resolution Operator) :: এমন একটি অপারেটর যা ওভারলোড করা যায় না। এর প্রধান কাজ হল গ্লোবাল স্কোপ (Global scope) বা একটি নির্দিষ্ট ক্লাসের স্কোপের (Class scope) সদস্য (member) অ্যাক্সেস করা। এর মৌলিক সিনট্যাক্সগত ব্যবহার পরিবর্তন করা সম্ভব নয়।

C++ এ সাধারণত যে সকল অপারেটর ওভারলোড করা যায় না, সেগুলোর একটি তালিকা নিচে দেওয়া হলো:

        
  • . (Member selection operator)
  •     
  • .* (Pointer-to-member operator)
  •     
  • :: (Scope resolution operator)
  •     
  • ?: (Conditional operator / Ternary operator)
  •     
  • sizeof (Sizeof operator)
  •     
  • typeid (Typeid operator)

অন্যদিকে, অন্যান্য বিকল্পগুলো, যেমন ++ (ইনক্রিমেন্ট), ~ (বিটওয়াইজ নট), এবং () (ফাংশন কল অপারেটর) সহ আরও অনেক অপারেটর C++ এ সফলভাবে ওভারলোড করা যায়।

        
  • ++ (Increment Operator): এই অপারেটরটি ইউজার-ডিফাইন্ড ডেটা টাইপের জন্য বাড়ানো (increment) অপারেশনকে কাস্টমাইজ করতে ব্যবহৃত হয়। এটি প্রিফিক্স (prefix) এবং পোস্টফিক্স (postfix) উভয় ফর্মেই ওভারলোড করা যায়।
  •     
  • ~ (Bitwise NOT Operator / Destructor): এটি একটি ইউনারি (unary) অপারেটর হিসেবে ওভারলোড করা যায়, যা কোনো বস্তুর বিটওয়াইজ নেগেশনকে সংজ্ঞায়িত করে। এছাড়াও, ~ClassName() সিনট্যাক্সটি একটি ক্লাসের ডিস্ট্রাক্টর (destructor) ফাংশন ঘোষণা করতে ব্যবহৃত হয়, যা কোনো অবজেক্ট মেমরি থেকে মুক্ত হওয়ার সময় স্বয়ংক্রিয়ভাবে কল হয়।
  •     
  • () (Function Call Operator / Parenthesis Operator): এটি একটি বিশেষ অপারেটর যা কোনো অবজেক্টকে ফাংশনের মতো আচরণ করতে সক্ষম করে। এটি প্রায়শই "ফানকটর" (functor) তৈরি করতে ব্যবহৃত হয়, যা কাস্টমাইজড আচরণ সহ ফাংশন অবজেক্ট হিসেবে কাজ করে। এটি সাবস্ক্রিপ্ট অপারেটর [] এর মতো আচরণও প্রদান করতে পারে।

এই আলোচনা থেকে স্পষ্ট যে, :: অপারেটরটি C++ এ ওভারলোডযোগ্য অপারেটরের তালিকার অন্তর্ভুক্ত নয়, যেখানে ++, ~, এবং () অপারেটরগুলো সফলভাবে ওভারলোড করা যায়।

Related Question

View All
Updated: 2 days ago
  • A known vunerability with available patch
  • A vulnerability unknown to the software vendor
  • A vulnerability in old harware
  • Malware that activates after 24 hours
45
  • Quantum Computing
  • Cybernetics
  • Artificial Intelligence
  • Machine Learning
41
Updated: 3 days ago
  • Scanning for viruses
  • Encrypting data
  • Differentiating between humans and robots
  • Sharing files
10
শিক্ষকদের জন্য বিশেষভাবে তৈরি

১ ক্লিকে প্রশ্ন, শীট, সাজেশন
অনলাইন পরীক্ষা তৈরির সফটওয়্যার!

শুধু প্রশ্ন সিলেক্ট করুন — প্রশ্নপত্র অটোমেটিক তৈরি!

প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
এখনই শুরু করুন ডেমো দেখুন
৫০,০০০+
শিক্ষক
৩০ লক্ষ+
প্রশ্নপত্র
মাত্র ১৫ পয়সায় প্রশ্নপত্র
১ ক্লিকে প্রশ্ন, শীট, সাজেশন তৈরি করুন আজই

Complete Exam
Preparation

Learn, practice, analyse and improve

1M+ downloads
4.6 · 8k+ Reviews

Question Analytics

মোট উত্তরদাতা

জন

সঠিক
ভুল
উত্তর নেই